<?php

namespace App\Http\Controllers\Admin;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\DB;
use App\Models\Goods;
use Image;

class GoodsController extends Controller
{
    // ========================商品信息==========================
    //商品列表
    public function goods_list(){
    	$arr=DB::table('goods')->orderBy('id','desc')->get();
        $sizearr=DB::table('goodssize')->get();
    	return view('/admin/goods/goods_list',['arr'=>$arr,'sizearr'=>$sizearr]);
    }
    //添加页面
    public function goods_add(){
    	$arr=DB::table('goodscategory')->orderByRaw('concat(type,id)')->get();
    	return view('/admin/goods/goods_add',['arr'=>$arr]);
    }
    //添加至数据库
    public function goods_insert(Request $request){
        // return $request->file('img');
        // 获取图片
        $img=Image::make($request->file('img'));
        $rdm=time().mt_rand(1000,9999);
        $imgname=$rdm.'.jpg';  // 图片名
        
        // 缩略图
        $ximg=Image::make($request->file('img'));
        $ximg->resize(null,100,function($c){
            $c->aspectRatio();
            $c->upsize();
        });
        
        // 将图片信息加入提交队列中
        $data=$request->except('img');
        $data['img']=$imgname;
    	if(DB::table('goods')->insert($data)){
            $img->save('upload/'.$imgname);
            $ximg->save('upload/'.'x_'.$imgname);
    		return 1;
    	}else{
    		return 0;
    	}
    	// return redirect()->action('admin\goodsController@goods_list');
    }

    // 从数据库中删除
    public function goods_del(Request $request){
        // return $request->ids;
        $data=DB::table('goods')->whereIn('id',$request->ids)->get();
        // return $data;
        if(DB::table('goods')->whereIn('id',$request->ids)->delete()){
            foreach($data as $list){
                unlink('upload/'.$list->img);
                unlink('upload/'.'x_'.$list->img);
                // 删除商品规格
                $gsdata=DB::table('goodssize')->where('gid',$list->id)->get();
                // return $gsdata;
                if(DB::table('goodssize')->where('gid',$list->id)->delete()){
                    // return 'xx';
                    foreach($gsdata as $gslist){
                        if($gslist->img){
                            unlink('upload/'.$gslist->img);
                            unlink('upload/'.'x_'.$gslist->img);
                        }
                    }
                }
            }
            return 1;
        }else{
            return 0;
        }
    }

    // 修改页面
    public function goods_edit(Request $request){
        $arr=DB::table('goodscategory')->orderByRaw('concat(type,id)')->get();
        $piece=DB::table('goods')->find($request->id);
        foreach($arr as $list){
            if($list->id==$piece->type){
                // return 
            }
        }
        return view('/admin/goods/goods_edit',['arr'=>$arr,'piece'=>$piece]);
    }

    // 更新数据库
    public function goods_update(Request $request){
        // return $request->id;
        // 如果图片被修改
        if($request->img){
            // 获取图片
            $img=Image::make($request->file('img'));
            $rdm=time().mt_rand(1000,9999);
            $imgname=$rdm.'.jpg';  // 图片名
            
            // 缩略图
            $ximg=Image::make($request->file('img'));
            $ximg->resize(null,60,function($c){
                $c->aspectRatio();
                $c->upsize();
            });
            
            // 将图片信息加入提交队列中
            $data=$request->except('img');
            $data['img']=$imgname;
        }else{
            $data=$request->all();
        }
        $old=DB::table('goods')->find($request->id);
        $oldimg=$old->img;
        // return $data;
        if(DB::table('goods')->where('id',$request->id)->update($data)){ 
            // return $old->img;
            if($request->img){
                // 删除原图
                unlink('upload/'.$oldimg);
                unlink('upload/'.'x_'.$oldimg);
                // 添加新图
                $img->save('upload/'.$imgname);
                $ximg->save('upload/'.'x_'.$imgname);
            }
            return 1;
        }else{
            return 0;
        }
    }

    // ================商品规格==================
    // 列表
    public function goodssize_list(Request $request){
        $arr=DB::table('goodssize')->where('gid',$request->gid)->orderBy('color')->orderBy('size','desc')->get();
        return view('/admin/goods/goodssize_list',['arr'=>$arr,'gid'=>$request->gid]);
    }
    // 增
    public function goodssize_add(Request $request){
        // 选中商品的规格表
        $arr=DB::table('goodssize')->where('gid',$request->gid)->get();
        return view('/admin/goods/goodssize_add',['arr'=>$arr,'gid'=>$request->gid]);
    }

    public function goodssize_insert(Request $request){
        // return $request->all();
        // if($request->img){
        //     // 获取图片
        //     $img=Image::make($request->file('img'));
        //     $rdm=time().mt_rand(1000,9999);
        //     $imgname=$rdm.'.jpg';  // 图片名
            
        //     // 缩略图
        //     $ximg=Image::make($request->file('img'));
        //     $ximg->resize(null,60,function($c){
        //         $c->aspectRatio();
        //         $c->upsize();
        //     });
        //     // 图片入表
        //     if(DB::table('goodsimg')->insert(['color_i'=>$request->color,'img'=>$imgname])){
        //         $img->save('upload/'.$imgname);
        //         $ximg->save('upload/'.'x_'.$imgname);
        //         $insert_img='1';
        //     }
        //     // 将图片信息加入提交队列中
        //     $data=$request->except('img');
        //     // $data['img']=$imgname;
        // }else{
        //     $data=$request->all();
        // }
        if(DB::table('goodssize')->insert($request->all())){
            return 1;
        }else{
            return 0;
        }
    }

    // 删
    public function goodssize_del(Request $request){
        // return $request->ids;
        // $data=DB::table('goodssize')->join('goodsimg','goodssize.color','=','goodsimg.color_i')->whereIn('id',$request->ids)->get();
        if(DB::table('goodssize')->whereIn('id',$request->ids)->delete()){
            // foreach($data as $list){
            //     if($list->img){
            //         unlink('upload/'.$list->img);
            //         unlink('upload/'.'x_'.$list->img);
            //     }
            // }
            return 1;
        }else{
            return 0;
        }
    }

    // 改
    public function goodssize_edit(Request $request){
         $piece=DB::table('goodssize')->find($request->id);
        return view('/admin/goods/goodssize_edit',['piece'=>$piece]);
    }

    public function goodssize_update(Request $request){
        // return $request->id;
        // 如果图片被修改
        // if($request->img){
        //     // 获取图片
        //     $img=Image::make($request->file('img'));
        //     $rdm=time().mt_rand(1000,9999);
        //     $imgname=$rdm.'.jpg';  // 图片名
            
        //     // 缩略图
        //     $ximg=Image::make($request->file('img'));
        //     $ximg->resize(null,60,function($c){
        //         $c->aspectRatio();
        //         $c->upsize();
        //     });
            
        //     // 将图片信息加入提交队列中
        //     $data=$request->except('img');
        //     $data['img']=$imgname;
        //     // 原图地址
        //     $old=DB::table('goodssize')->find($request->id);
        //     $oldimg=$old->img;
        // }else{
        //     $data=$request->all();
        // }
        // return $data;
        if(DB::table('goodssize')->where('id',$request->id)->update($request->all())){ 
            // 删除原图
            // return $old->img;
            // if($request->img){
            //     unlink('upload/'.$oldimg);
            //     unlink('upload/'.'x_'.$oldimg);
            //     $img->save('upload/'.$imgname);
            //     $ximg->save('upload/'.'x_'.$imgname);
            // }
            // 添加新图
            return 1;
        }else{
            return 0;
        }
    }

    // ===============商品图片=================
    public function goodsimg_list(Request $request){
        // dd($request->all());
        $piece=DB::table('goodsimg')->where([['gid',$request->gid],['color_i',$request->color]])->first();
        // dd($piece);
        return view('/admin/goods/goodsimg_list',['gid'=>$request->gid,'piece'=>$piece,'color_i'=>$request->color]);
    }

    // 增
    public function goodsimg_insert(Request $request){
        // 获取图片
        $img=Image::make($request->file('img'));
        $rdm=time().mt_rand(1000,9999);
        $imgname=$rdm.'.jpg';  // 图片名
        
        // 缩略图
        $ximg=Image::make($request->file('img'));
        $ximg->resize(null,60,function($c){
            $c->aspectRatio();
            $c->upsize();
        });
        // 图片入表
        if(DB::table('goodsimg')->insert(['gid'=>$request->gid,'color_i'=>$request->color_i,'img'=>$imgname])){
            $img->save('upload/'.$imgname);
            $ximg->save('upload/'.'x_'.$imgname);
            return 1;
        }else{
            return 0;
        }
    }

    // 删
    public function goodsimg_del(Request $request){
        $img=DB::table('goodsimg')->where('id',$request->id)->value('img');
        if(DB::table('goodsimg')->where('id',$request->id)->delete()){
            unlink('upload/'.$img);
            unlink('upload/'.'x_'.$img);
            return 1;
        }else{
            return 0;
        }
    }

    // 改
    public function goodsimg_edit(Request $request){
        $piece=DB::table('goodsimg')->find($request->id);
        return view('/admin/goods/goodsimg_edit',['piece'=>$piece]);
    }

    public function goodsimg_update(Request $request){
        // 获取图片
        $img=Image::make($request->file('img'));
        $rdm=time().mt_rand(1000,9999);
        $imgname=$rdm.'.jpg';  // 图片名
        // 缩略图
        $ximg=Image::make($request->file('img'));
        $ximg->resize(null,60,function($c){
            $c->aspectRatio();
            $c->upsize();
        });
        // 原图
        $oldimg=DB::table('goodsimg')->where('id',$request->id)->value('img');
        if(DB::table('goodsimg')->where('id',$request->id)->update(['img'=>$imgname])){
            // 删除原图
            unlink('upload/'.$oldimg);
            unlink('upload/'.'x_'.$oldimg);
            // 存入新图
            $img->save('upload/'.$imgname);
            $ximg->save('upload/'.'x_'.$imgname);
            return 1;
        }else{
            return 0;
        }
    }


    // ===============商品详情=================
    public function goods_details(Request $request){
        $piece=DB::table('goods')->find($request->id);
        return view('/admin/goods/goods_details',['piece'=>$piece]);
    }

}
